//
// Created by sjjmw on 2/23/2022.
//

#ifndef LEETCODE__17_H
#define LEETCODE__17_H

//todo
// 假设有k个人质和k个绑匪围成一圈。人质的编号从1到k，绑匪的编号从k+1到2k。
// 从编号1开始，每次从其中选出第m个人(隔m-1选出一人)出列。
// 希望求出m的最小值，使得最先出列的k个人都是绑匪，即都是编号从k+1到2k的人。
#include "iostream"

int main() {
    int a,sum=0;
    while (scanf("%d", &a)!=EOF){
        const int mod[20]={1,1,2,6,4,2,2,4,2,8,4,
                           4,8,4,6,8,8,6,8,2};
        int len=strlen(str),i,c,ret=1;
        if(len==1)
            return mod[ str[0]-'0'];
        for(i=0;i<len;i++)
            temp[i]=str[len-1-i]-'0';
        for(; len ; len-= !temp[len-1]){
            ret= ret*mod[ temp[1]%2*10+temp[0] ]%5;
            for(c=0,i=len-1; i>=0; i--){
                c=c*10+temp[i];
                temp[i]=c/5;
                c%=5;
            }
        }
        return ret+ret%2*5;
        printf("%d",jc%10);
    }

    return 0;
}


#endif //LEETCODE__17_H
